package edu.umuc.cmsc495_final_project;

import java.io.Serializable;
import java.util.ArrayList;

public class patron implements Serializable  {

	/**
	 * 
	 */
	private static final long serialVersionUID = -79160562943529630L;
	private String reservationName;
	private DineType dineType;
	private String checkinTime;
	private RestaurantTime reservationTime;
	private RestaurantTime startTime;
	private RestaurantTime finishTime;
	private ArrayList<Items> ticket = new ArrayList<Items>();
	private boolean ticketClosed;
	private int tableID;
	private Table table;
	private boolean seated;
	private int numInParty;
	
	public patron(){}
	
	public patron(String reservationName, DineType dineType, String checkinTime, int numInParty ,boolean seated){
		this.reservationName = reservationName;
		this.dineType = dineType;
		this.checkinTime = checkinTime;
		this.numInParty = numInParty;
		this.seated = seated;
	}
	
	public patron(String reservationName, DineType dineType, RestaurantTime reservationTime, int numInParty){
		// TODO add this stuff...
	}
	
	public String getReservationName() {
		return reservationName;
	}
	
	public void setReservationName(String reservationName) {
		this.reservationName = reservationName;
	}
	
	public DineType getDineType() {
		return dineType;
	}
	
	public void setDineType(DineType dineType) {
		this.dineType = dineType;
	}
	
	public String getCheckinTime() {
		return checkinTime;
	}
	
	public void setCheckinTime(String checkinTime) {
		this.checkinTime = checkinTime;
	}
	
	public RestaurantTime getStartTime() {
		return startTime;
	}
	
	public void setStartTime(RestaurantTime startTime) {
		this.startTime = startTime;
	}
	
	public RestaurantTime getFinishTime() {
		return finishTime;
	}
	
	public void setFinishTime(RestaurantTime finishTime) {
		this.finishTime = finishTime;
	}
	
	public boolean isTicketClosed() {
		return ticketClosed;
	}

	public void setTicketClosed(boolean ticketClosed) {
		this.ticketClosed = ticketClosed;
	}
	
	public void setTableID(int tableID){
		this.tableID = tableID;
	}
	
	public int getTableID(){
		return tableID;
	}
	
	public Table getTable() {
		return table;
	}

	public void setTable(Table table) {
		this.table = table;
	}
	
	public String toString(){
		return reservationName + ", party of "+ numInParty + 
				".\n Check-in " + checkinTime;
	}

	public boolean isSeated() {
		return seated;
	}

	public void setSeated(boolean seated) {
		this.seated = seated;
	}

	public int getNumInParty() {
		return numInParty;
	}

	public void setNumInParty(int numInParty) {
		this.numInParty = numInParty;
	}

	public ArrayList<Items> getTicket() {
		return ticket;
	}
	
	public void addTicketItem(Items items){
		ticket.add(items);
	}

	public void setTicket(ArrayList<Items> ticket) {
		this.ticket = ticket;
	}

	public RestaurantTime getReservationTime() {
		return reservationTime;
	}

	public void setReservationTime(RestaurantTime reservationTime) {
		this.reservationTime = reservationTime;
	}
}
